package com.yds.ydsdatasetbackend.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yds.ydsdatasetbackend.model.dto.file.predict.FilePredictAddRequest;
import com.yds.ydsdatasetbackend.model.dto.file.predict.FilePredictEditRequest;
import com.yds.ydsdatasetbackend.model.dto.file.predict.FilePredictQueryRequest;
import com.yds.ydsdatasetbackend.model.dto.file.train.FileTrainAddRequest;
import com.yds.ydsdatasetbackend.model.entity.FilePredict;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yds.ydsdatasetbackend.model.entity.User;
import com.yds.ydsdatasetbackend.model.vo.FilePredictVO;
import com.yds.ydsdatasetbackend.model.vo.FileVO;

import javax.servlet.http.HttpServletRequest;

/**
* @author YDS
* @description 针对表【file_predict(文件预测变量表)】的数据库操作Service
* @createDate 2025-02-09 18:04:56
*/
public interface FilePredictService extends IService<FilePredict> {

    /**
     * 添加文件预测数据
     * @param filePredictAddRequest
     * @return
     */
    FilePredictVO addFilePredict(FilePredictAddRequest filePredictAddRequest, User loginUser);

    void editFilePredict(FilePredictEditRequest filePredictEditRequest, User loginUser);

    FilePredictVO getFilePredictVO(FilePredict filePredict, HttpServletRequest request);

    Page<FilePredictVO> getFilePredictVOPage(Page<FilePredict> filePredictPage, HttpServletRequest request);

    QueryWrapper<FilePredict> getQueryWrapper(FilePredictQueryRequest filePredictQueryRequest);

    void deleteFilePredict(long filePredictId, User loginUser);
}
